package com.smarthome.core.account;

import java.util.List;

import com.smarthome.domain.bean.ShAccount;
import com.smarthome.domain.bean.ShAccountFeature;
import com.smarthome.domain.vo.boss.Tree;

/**
 * 
* @author zyf
* @date 2015年9月14日 上午10:09:38
* @version 1.0
* @Description: 平台用户功能服务接口
 */
public interface AccountFeatureService {
	
	/**
	 * 查询所有平台用户功能
	 * @return
	 */
	List<ShAccountFeature> queryAllAccountFeatures();
	
	/**
	 * 按条件查询平台用户功能
	 * @param feature
	 * @return
	 */
	List<ShAccountFeature> queryFeaturesByCondition(ShAccountFeature feature);
	/**
	 * 根据ID查询平台用户功能
	 * @return
	 */
	ShAccountFeature queryAccountFeatureById(Long id);
	
	/**
	 * 根据用户ID查询平台用户功能集合
	 * @param accountId
	 * @return
	 */
	List<ShAccountFeature> queryAccountFeaturesByAccountId(Long accountId);
	
	/**
	 * 获取树形平台用户功能集合
	 * @param account
	 * @return
	 */
	List<Tree> tree(ShAccount account);
	
	/**
	 * 获取树形列表平台用户功能集合
	 * @param account
	 * @return
	 */
	List<ShAccountFeature> treeGrid(ShAccount account);
	
	/**
	 * 新增平台用户功能
	 * @param account
	 */
	void add(ShAccountFeature feature);
	
	/**
	 * 编辑平台用户功能
	 * @param account
	 */
	void edit(ShAccountFeature feature);
	
	/**
	 * 删除平台用户功能
	 * @param account
	 */
	void delete(Long id);
}
